Understanding Design Patterns with Design Rationale Graphs
نویسندگان
چکیده
A Design Pattern presents a proven solution to a common design problem using a combination of informal text, diagrams, and examples. Often, to suitably describe an issue, the author of a Design Pattern must spread and repeat information throughout the Pattern description. Unfortunately, spreading the information can make it difficult for a reader to grasp subtleties in the design, leading to possible misuses of the Pattern. In this paper, we introduce the Design Rationale Graph (DRG) representation that connects and visualizes related concepts described in a Design Pattern. The localization of concept information is intended to help improve a reader’s understanding of a Design Pattern. Improved comprehension of a Pattern could aid the use of a Pattern during implementation, and the reading of code built upon the Pattern. In addition to describing the DRG representation, we present a tool we have built to support the semi-automatic creation of a DRG from Design Pattern text, and we report on a small study conducted to explore the utility of DRGs. The study showed that readers with access to a DRG were able to answer questions about the Pattern more completely and with more confidence than those given the Design Pattern alone.
منابع مشابه
ابهام زدایی از تفکر طراحی و شاخص های آن
Design thinking attends to designing manners to figure out common patterns to describe what designers do and how they interact with complex problems. These data can help improve designer‘s skills and other design insights. There are lacks of studies in design thinking in Iranian design studies. This issue causes defecting the understanding of design thinking principles and specifications....
متن کاملAugmenting design patterns with design rationale
A precondition for reusability in software development is the existence of reusable resources. The number of reusable resources is limited owing to a de nite lack of systematic methods for producing reusable information. It is this de ciency which prevents e ective software reuse within a collaborative environment. To address this problem, a new methodology for supporting the collaborative deve...
متن کاملY The SPOOL Approach to Pattern-Based Recovery of Design Components
Automated tool support is crucial for the comprehension of large-scale, object oriented software and involves compressing and clustering the vast amount of information that is contained in the source code. However, software comprehension demands more than the mere understanding of the static structure of the source code. The clear representation of the system's physical and logical structure is...
متن کاملA Fine-grained Model for Design Pattern Detection in Eiffel Systems Maurice Lebon a Thesis Submitted to the Faculty of Graduate Studies in Partial Fulfilment of the Requirements for the Degree of Master of Science Graduate Program in Software Engineering
Design patterns have been used for many years in order to build software systems whose design has a high level of flexibility and scalability. In the reverse engineering field, detecting design patterns not only simplifies the understanding of the target system implementation but also provides the rationale behind the system’s design, i.e. why was this design used? Therefore, automating the det...
متن کاملDeveloping Theory and Ethnographic Applications for Explanations of Emergent Structure and Network Dynamics
Project SUMMARY 1 Project DESCRIPTION 3 I. Objectives 3 II. Rationale 3 III. Conceptual Perspective 3 Modeling Strategies, Patterns and Mathematical Theorems, and Working Hypotheses 4 Heuristics for Theorizing Dynamic Evolution of Coherence among Formal Patterns 7 Dynamics 9 IV Measurement: Detecting Patterns in Networks 9 V. Hypothesis Tests on Social Transformations 10 VI. Modeling and Hypoth...
متن کامل